home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / systems / atari / birkhahn-metafont-packed-disks / mf27-2_2e-disk2.zoo / inputs / handy.lzs / HANDS.MF next >
Text File  |  1989-11-20  |  2KB  |  92 lines

  1. % hands.mf
  2. mode_setup;
  3. size=48pt#;
  4. font_size size;
  5. em#:=size; cap#:=7/10em#; desc#:=3/10em#;
  6. thinline#:=1/100em#;
  7. define_pixels(em,cap,desc);
  8. define_blacker_pixels(thinline);
  9.  
  10. %Hand pointing right
  11. def handpointing=
  12. % define points for thumb and cuff
  13. x1=x3=1/2[0,1/15w];
  14. x2=x5=x4=x23=4/16w;
  15. y1=y2=10/15[-desc,cap];
  16. y3=y4=2/15[-desc,cap];
  17. y5=6/7[y4,y2]; y23=1/7[y4,y2];
  18. x6=9.75/16w;
  19. y6=y2;
  20. x7=11.25/16w;
  21. y7=4/5[y23,y5];
  22. x8=8.75/16w;
  23. y8=1/4[y7,y6];
  24. x17=14.5/16w;
  25. y17=9.25/15[-desc,cap];
  26. % find a point at a cerrtain height or
  27. % the curve from z6 to z7
  28.  path dummyCurve; path dummyLine;
  29.  x.dummy=1/2[x8,x7];
  30.  y.dummy=y17;
  31.  dummyCurve:=z6{z5-z2}..z7..tension1.4..z8;
  32.  dummyLine:=z.dummy--z17;
  33.  z18=dummyCurve intersectionpoint dummyLine;
  34. x16=x17;
  35. y16=y7;
  36. x9=7/16w;
  37. y9=y8;
  38. x10=6/16w;
  39. y10=2/5[y23,y5];
  40. % find another point on the
  41. % curve from z6 to z7
  42.  x.dummy2=x5;
  43.  y.dummy2=y16;
  44.  x.dummy3:=1/2[x8,x7];
  45.  y.dummy3=y.dummy2;
  46.  dummyLine:=z.dummy3--z.dummy2;
  47.  z12=dummyCurve intersectionpoint dummyLine;
  48. % define points for curled fingers
  49. x15=x14=x19=x22=1/3[x18,x17];
  50. x13=x20=x21=x12;
  51. y15=y16;
  52. y13=y14=y15-(y17-y16);
  53. y20=y19=y13-(y17-y16);
  54. y21=y22=y20-(y17-y16);
  55. % Pick up pen and draw whole image
  56. pickup pencircle scaled thinline;
  57. draw z1--z2--z4--z3--cycle;
  58. draw z5{(1,1)}..tension 1.5..z6
  59.   &z6{z5-z2}...z7..tension 1.4..z8
  60.   &z8{down}..tension3..z9
  61.   &z9..tension 1.8..{left}z10;
  62. draw z18--z17{right}..z16--z7;
  63. draw z7--z15{right}..z14--z13{left}..z12;
  64. draw z14{right}..z19--z20{left}..z13;
  65. draw z19{right}..z22--z21{left}..z20;
  66. draw z21{(-1,-1)}..tension1.5..z23;
  67. enddef;
  68.  
  69. beginchar("A",16/15em#,cap#,desc#);
  70. handpointing;
  71. endchar;
  72.  
  73. beginchar("B",16/15em#,cap#,desc#);
  74. input mirror;
  75. pattern;
  76. handpointing;
  77. endchar;
  78.  
  79. beginchar("C",16/15em#,cap#,desc#);
  80. input reverse;
  81. pattern;
  82. handpointing;
  83. endchar;
  84.  
  85. beginchar("D",16/15em#,cap#,desc#);
  86. input rev_mirr;
  87. pattern;
  88. handpointing;
  89. endchar;
  90.  
  91. end.
  92.